package com.amumu.drama.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@TableName("invitation_log")
public class InvitationLog implements Serializable {

    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键ID")
    private Long id;

    @ApiModelProperty(value = "邀请用户ID")
    private Long inviterMemberId;

    @ApiModelProperty(value = "被邀请用户ID")
    private Long inviteeMemberId;

    @ApiModelProperty(value = "邀请码")
    private String invitationCode;

    @ApiModelProperty(value = "活动类型 (MEMBER-用户邀请, ANCHOR-主播邀请)")
    private String type;

    @ApiModelProperty(value = "折扣，最大100%")
    private BigDecimal discount;

    @ApiModelProperty("主播邀请活动ID")
    private Long invitationAnchorId;

    @ApiModelProperty(value = "有效开始时间")
    private LocalDateTime startTime;

    @ApiModelProperty(value = "有效结束时间")
    private LocalDateTime endTime;

    @ApiModelProperty(value = "订单总金额")
    private BigDecimal totalAmount;

    @ApiModelProperty(value = "应付金额（实际支付金额）")
    private BigDecimal payAmount;

    @ApiModelProperty(value = "邀请折扣金额")
    private BigDecimal discountAmount;

    @ApiModelProperty(value = "邀请奖励积分")
    private BigDecimal invitationIntegration;

    @ApiModelProperty(value = "积分状态：0-到帐中, 1-生效, 2-无效")
    private Integer integrationStatus;

    @ApiModelProperty(value = "删除状态（0-正常, 1-删除）")
    private Integer deleteStatus;

    @ApiModelProperty(value = "创建人")
    private String creator;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;
}

